export const Waveguide: any = {
    Waveguide: {
        className: 'Waveguide',
        xLength: 200,
        yLength: 20,
        zLength: 20,
        width: 10,
        x: 100,
        y: 30,
        z: 30,
        refractiveIndex: 3.47
    },
    Sbend: {
        className: 'Sbend',
        xLength: 200,
        yLength: 100,
        zLength: 20,
        width: 20,
        x: 100,
        y: 75,
        z: 13,
        refractiveIndex: 3.47,
        direction: 1
    },
    Fiber: {
        className: 'Fiber',
        x: 50,
        y: 50,
        z: 50,
        length: 100,
        radius: [10, 40],
        refractiveIndex: [3.47, 1.45]
    },
    Ysplitter: {
        className: 'Ysplitter',
        xLength: 200,
        yLength: 160,
        zLength: 20,
        width: 20,
        x: 100,
        y: 100,
        z: 13,
        refractiveIndex: 3.47,
        direction: 1,
        xLengthWaveguide: 80,
        yLengthTaper: 40,
        zLengthTaper: 40,
        widthSbend: 20,
    },
    DirectionalCoupler: {
        className: 'DirectionalCoupler',
        xLength: 200,
        yLength: 80,
        zLength: 20,
        width: 20,
        x: 100,
        y: 100,
        z: 13,
        refractiveIndex: 3.47,
        direction: 1,
        xLengthWaveguide: 50,
        gap: 10,
    },
    Ring: {
        className: 'Ring',
        outerRadius: 100,
        zLength: 20,
        width: 20,
        length: 0,
        x: 150,
        y: 150,
        z: 13,
        refractiveIndex: 3.47,
        direction: 1,
    },
    Mmi: {
        className: 'Mmi',
        xLength: 71,
        yLength: 56,
        zLength: 20,
        We: 56,
        x: 60,
        y: 40,
        z: 15,
        n: 1,
        m: 2,
        widthPort: 25,
        widthWg: 20,
        ln: 20,
        lm: 20,
        lPort: 0,
        refractiveIndex: 3.47,
    },
    Mzi: {
        className: 'Mzi',
        gap: 50,
        gapDc: 10,
        xLengthDc: 150,
        zLength: 1,
        coupleLength: 100,
        coupleLengthDc: 10,
        addLengthArm1: 0,
        addLengthArm2: 0,
        x: 350,
        y: 125,
        z: 0,
        width: 20,
        refractiveIndex: 3.47,
    },
    Arc: {
        className: 'Arc',
        outerRadius: 60,
        zLength: 20,
        x: 100,
        y: 100,
        z: 1,
        width: 20,
        refractiveIndex: 3.47,
        direction: 1,
    }
}

export const Source: any = {
    PointSource: {
        sourceType: 'pointsource',
        period: 15,
        amplitude: 1,
        phaseShift: 1,
        pulseType: 'gaussian',
        cycle: 5,
        hanningDt: 10,
        polarization: 'z',
        pulse_length: '',
        offset: '',
        public: '',
        x: '',
        y: '',
        z: '',
        xLength: '',
        yLength: '',
        zLength: '',
    }
}

export const Detector: any = {
    name: 'pointsource',
    detectorType: 15,
    x: '',
    y: '',
    z: '',
    xLength: '',
    yLength: '',
    zLength: '',
}